/**
 * HTML 标签的书写方式，分别有三种
 * 开始标签，结束标签，独立标签
 */
export const HTML_TAG_TYPE = {
    OPEN: '<xxx>',
    CLOSE: '</xxx>',
    SINGLE: '<xxx/>',
};

/**
 * 解析类型
 * 文本，节点，注释
 */
export const AST_NODE_TYPE = {
    TEXT: 'text',
    NODE: 'node',
    COMMENT: 'comment',
};

/**
 * 错误类型
 */
export const ERROR_TYPE = {
    NO_FINISH_TAG: '无对应的结束标签',
    INVALID_TAG_TYPE: '非法的标签书写方式',
    EXCEPTED_TAG_NAME_TYPE: '未知的HTML书签类型',
};

export const nooper = undefined;

/**
 * HTML 标签的名字
 * 如有自定义的 html 标签，请在此注册
 * 比如 <div> 的名字就是 div
 */
export const HTML_TAG_NAME_TYPE = new Map();
HTML_TAG_NAME_TYPE.set('html', 1);
HTML_TAG_NAME_TYPE.set('div', 1);
HTML_TAG_NAME_TYPE.set('h1', 1);
HTML_TAG_NAME_TYPE.set('span', 1);

/**
 * HTML 标签的事件类型
 * 如有自定义的 html 事件，请在此注册
 */
export const HTML_TAG_EVENT_TYPE = new Map();
HTML_TAG_EVENT_TYPE.set('onclick', 1);
HTML_TAG_EVENT_TYPE.set('onmousedown', 1);
HTML_TAG_EVENT_TYPE.set('onmousemove', 1);
HTML_TAG_EVENT_TYPE.set('onmouseup', 1);
